//
// Created by 麻再挺 on 2021/12/9.
//

#include "string_menu.h"
#include "hstring.h"

/**
 * 字符串实现
 */
void hstring_impl();

/**
 * 栈与队列运行主函数
 */
void string_run() {
    // 菜单
    int menu = -1;
    // 是否运行
    Status is_run = TRUE;
    while (is_run) {
        printf("╔═══════════════════════════════════════════════╗\n");
        printf("║                     字符串                    ║\n");
        printf("║ 1: 字符串                                     ║\n");
        printf("║ 0: 退出                                       ║\n");
        printf("╚═══════════════════════════════════════════════╝\n");
        printf("请选择功能菜单: ");
        fflush(stdout);
        scanf("%d", &menu);

        switch (menu) {
            case 0:
                // 退出
                is_run = FALSE;
                break;
            case 1:
                hstring_impl();
                break;
            default:
                printf("输入异常\n");
                break;
        }
    }
}

/**
 * 字符串实现
 */
void hstring_impl() {
    char *tmp = "test";
    HString str;
    HString_Assign(&str, tmp);
    HString_Print(&str);

    printf("字符串长度: %d\n", HString_Length(&str));
    HString str1;
    HString_Assign(&str1, "test123");
    printf("字符串比较: %d\n", HString_Compare(&str, &str1) >= 0);
    HString str2;
    HString_Assign(&str2, "hhh");
    HString_Concat(&str, &str1, &str2);
    printf("字符串连接: ");
    HString_Print(&str);

    HString subStr;
    HString_Substring(&str, 2, 4, &subStr);
    printf("字符串截取: ");
    HString_Print(&subStr);

    HString_Clear(&str);
    HString_Print(&str);
}

